Skip to content

Support XML files containing failed results but no goto_trace field. #180

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
May 15, 2025

Conversation

AmPaschal
Copy link
Contributor

Issue #, if available:

Description of changes:
Some CBMC solvers like CVC5 can generate a cbmc.xml file containing failed verification results but without the failure trace (or a goto_trace field). With the current behavior, cbmc_viewer will crash when invoked because line 353 will try to iterate through None. This commit fixes this bug.

Here is a sample XML file that triggers this crash

CBMC 6.3.1 (cbmc-6.3.1) CBMC version 6.3.1 (cbmc-6.3.1) 64-bit x86_64 linux

...

Running SMT2 ALL (with FPA) using CVC5 Runtime Solver: 0.00640582s Runtime decision procedure: 0.00703132s VERIFICATION ERROR

ERROR

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Some CBMC solvers like CVC5 can generate a cbmc.xml file containing failed verification results but without the failure trace (or a goto_trace field). With the current behavior, cbmc_viewer will crash when invoked because line 353 will try to iterate through None. This commit fixes this bug.
@tautschnig
Copy link
Member

Note that these are SMT solver errors (i.e., the solver failed to produce a sat/unsat answer). But still: seems legit.

@tautschnig
Copy link
Member

Let's merge after #186 has gone in to avoid spurious CI errors.

@tautschnig tautschnig merged commit 324ed4d into model-checking:master May 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants